package com.mall.goods.mapper;

import com.mall.common.core.domain.entity.SysDept;
import com.mall.goods.model.dto.GoodsCategoryDto;
import com.mall.goods.model.vo.GoodsCategoryVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GoodsCategoryMapper {

    /**
     * 查询商城-商品分类
     */
    GoodsCategoryVo selectGoodsCategoryById(Long id);

    /**
     * 查询商城-商品分类列表
     */
    List<GoodsCategoryVo> selectGoodsCategoryList(GoodsCategoryDto goodsCategoryDto);

    /**
     * 新增商城-商品分类
     */
    int insertGoodsCategory(GoodsCategoryDto goodsCategoryDto);

    /**
     * 修改商城-商品分类
     */
    int updateGoodsCategory(GoodsCategoryDto goodsCategoryDto);

    /**
     * 删除商城-商品分类
     */
    int deleteGoodsCategoryById(Long id);

    /**
     * 批量删除商城-商品分类
     */
    int deleteGoodsCategoryByIds(Long[] ids);

    /**
     * 根据ID查询所有分类
     *
     * @param categoryId 部门ID
     * @return 分类列表
     */
    List<GoodsCategoryVo> selectChildrenCategoryById(Long categoryId);

    /**
     * 修改子元素关系
     *
     * @param goodsCategories 子元素
     * @return 结果
     */
    int updateCategoryChildren(@Param("goodsCategories") List<GoodsCategoryDto> goodsCategories);

}
